﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace ATM
{
    public partial class qlkhachhang : Form
    {
        private SqlConnection conn;
        private DataTable dt = new DataTable("TB_USER");
        private SqlDataAdapter da = new SqlDataAdapter();

        private void connect()
        {

            String cn = @"Data Source=(local);Initial Catalog=ATM_PM1;Integrated Security=True";
            try
            {
                conn = new SqlConnection(cn);
                conn.Open();

            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
                MessageBox.Show("khong thanh cong");
            }
        }

        private void disconnect()
        {
            conn.Close();
            conn.Dispose();
            conn = null;
        }
        public qlkhachhang()
        {
            InitializeComponent();
        }

        private void qlkhachhang_Load(object sender, EventArgs e)
        {
            connect();
            getdata();
            binding();

        }
        private void getdata()
        {
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.Text;
            command.CommandText = @"select User_ID[STT],User_ID_Card_No[Số thẻ],User_FullName[Tên khách hàng],User_DoB[Ngày lập],
                                     (Case User_Gender when 'True' then N'Nam' else N'Nữ' end)[Giới tính]  
                                      ,User_Phone[Số ĐT],User_Address[Địa chỉ] from TB_USER  ";
            da.SelectCommand = command;
            da.Fill(dt);
            showkhachhang.DataSource = dt;
        }
        private void binding()
        {
            txtid.DataBindings.Clear();
            txtid.DataBindings.Add("text", showkhachhang.DataSource, "STT");
            txtmakh.DataBindings.Clear();
            txtmakh.DataBindings.Add("text", showkhachhang.DataSource, "Số thẻ");
            txtten.DataBindings.Clear();
            txtten.DataBindings.Add("text", showkhachhang.DataSource, "Tên khách hàng");
            dtpngay.DataBindings.Clear();
            dtpngay.DataBindings.Add("text", showkhachhang.DataSource, "Ngày lập");

            cbbgioitinh.DataBindings.Clear();
            cbbgioitinh.DataBindings.Add("text", showkhachhang.DataSource, "Giới tính");
            txtsodt.DataBindings.Clear();
            txtsodt.DataBindings.Add("text", showkhachhang.DataSource, "Số ĐT");
            txtdiachi.DataBindings.Clear();
            txtdiachi.DataBindings.Add("text", showkhachhang.DataSource, "Địa chỉ");
            
        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
            Dispose();
        }

        private void btntim_Click(object sender, EventArgs e)
        {
            dt.Clear();
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.Text;
            command.CommandText = @"Select User_ID[STT],User_ID_Card_No[Số thẻ],User_FullName[Tên khách hàng],User_DoB[Ngày lập],
                                     (Case User_Gender when 'True' then N'Nam' else N'Nữ' end)[Giới tính]  
                                      ,User_Phone[Số ĐT],User_Address[Địa chỉ] from TB_USER where User_FullName like '%'+@ten+'%' ";
            command.Parameters.Add("@ten", SqlDbType.NVarChar, 50).Value = txttenkhach.Text;
            da.SelectCommand = command;
            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                showkhachhang.DataSource = dt;
            }
            else
            {
                MessageBox.Show("không tìm thấy tên khách hàng này !", "Thông báo", MessageBoxButtons.OK);
            }
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            DataRow row = dt.Select("STT=" + Convert.ToInt32(txtid.Text))[0];
            row.BeginEdit();
            row["STT"] = txtid.Text;
            row["Số thẻ"] = txtmakh.Text;
            row["Tên khách hàng"] = txtten.Text;
            row["Ngày lập"] = dtpngay.Value;
            if (cbbgioitinh.Text == "Nam")
            {
                row["Giới tính"] = 1;
            }
            else if(cbbgioitinh.Text =="Nữ")
            {
                row["Giới tính"] = 0;
            }
            row["Số ĐT"] = txtsodt.Text;
            row["Địa chỉ"] = txtdiachi.Text;
            row.EndEdit();
            SqlCommand commandUpdate = new SqlCommand();
            commandUpdate.Connection = conn;
            commandUpdate.CommandType = CommandType.Text;
            commandUpdate.CommandText = @"Update TB_USER Set User_ID_Card_No=@User_ID_Card_No,
                                                            User_FullName=@User_FullName,
                                                            User_DoB=@User_DoB,User_Gender=@User_Gender,
                                                            User_Phone=@User_Phone,User_Address=@User_Address
                                                            Where User_ID = @User_ID";
            commandUpdate.Parameters.Add("@User_ID_Card_No", SqlDbType.Int, 20, "Số thẻ");
            commandUpdate.Parameters.Add("@User_FullName", SqlDbType.NVarChar, 50, "Tên khách hàng");
            commandUpdate.Parameters.Add("@User_DoB", SqlDbType.DateTime, 30, "Ngày lập");
            commandUpdate.Parameters.Add("@User_Gender", SqlDbType.Int, 20, "Giới tính");
            commandUpdate.Parameters.Add("@User_Phone", SqlDbType.Int, 20, "Số ĐT");
            commandUpdate.Parameters.Add("@User_Address", SqlDbType.NVarChar, 20, "Địa chỉ");
            commandUpdate.Parameters.Add("@User_ID", SqlDbType.Int, 20, "STT");
            da.UpdateCommand = commandUpdate;
            da.Update(dt);
            if (cbbgioitinh.Text == "1")
            {
                cbbgioitinh.Text = "Nam";
            }
            else
            {
                cbbgioitinh.Text = "Nữ";
            }
            dt.Clear();
            getdata();
            MessageBox.Show("Bạn đã sửa thành công !","thông báo",MessageBoxButtons.OK);

        }
    }
}
